#define _CRT_SECURE_NO_WARNINGS

//#include<iostream>
//
//using namespace std;
//
//#define N 55
//
//int main()
//{
//    int t;
//    cin >> t;
//    while (t--)
//    {
//        int a[N];
//        int  n;
//        cin >> n;
//        scanf("%s", a);
//        int c1 = 0, c2 = 0;
//
//        for (int i = 0; i < n; i++)
//        {
//            if (a[i] == 'd' && c1 == 0)
//            {
//                c1++;
//            }
//            if (a[i] == 'f' && c1 == 1)
//            {
//                c1++;
//            }
//            if (a[i] == 's' && c1 == 2)
//            {
//                c1++;
//            }
//            if (a[i] == 'D' && c2 == 0)
//            {
//                c2++;
//            }
//            if (a[i] == 'F' && c2 == 1)
//            {
//                c2++;
//            }
//            if (a[i] == 'S' && c2 == 2)
//            {
//                c2++;
//            }
//        }
//
//        if (c1 == 3)
//            cout << 1 << " ";
//        else
//            cout << 0 << " ";
//        if (c2 == 3)
//            cout << 1 << endl;
//        else
//            cout << 0 << endl;
//    }
//    return 0;
//}

//#include<iostream>
//
//using namespace std;
//int main()
//{
//	cout << "hello world" << endl;
//	return 0;
//}


//#include<iostream>
//
////namespace nilv {
////	int a = 0;
////	int b = 0;
////
////}
////using nilv::b;
//
//int main()
//{
//	b = 3;
//	nilv::a = 3;
//	return 0;
//}

//#include<iostream>
//
//using namespace std;
//
//void fun(int a, int b, int c = 2)
//{
//	cout << a << endl << b << endl << c;
//}
//
//int main()
//{
//	fun(2, 3,5);
//	return 0;
//}




#include<iostream>
using namespace std;

int main()
{
	int arr[10];
	for (int i = 0; i < 10; i++)
		cin >> arr[i];
	int gap = 10;
	while (gap > 1)
	{
		gap = gap / 3 + 1;
		for (int i = 0; i < 10 - gap; i++)
		{
			int end = i;
			int tem = arr[end + gap];
			while (end >= 0)
			{
				if (arr[end] > tem)
				{
					arr[end + gap] = arr[end];
					end -= gap;
				}
				else
					break;
			}
			arr[end + gap] = tem;
		}
	}
	for (int i = 0; i < 10; i++)
		cout << arr[i] << " ";
	return 0;
}